Le format snap vise à permettre l'installation de nouvelles versions de logiciels dans les systèmes Linux, tout en apportant aux développeurs la facilité de distribution, la fiabilité et la sécurité.
Avec le format snap, pour recevoir des nouvelles versions de logiciels, les utilisateurs n'auront plus à mettre en jeu la stabilité de leur système par l'ajout de dépôts personnels (PPA). Ils pourront récupérer un paquet .snap distribué par l'éditeur via le gestionnaire de paquets Snappy. L'application s'exécute ensuite de manière isolée, ce qui accroît la stabilité et la sécurité du système. Le paquet .snap inclut l'application et peut contenir aussi ses dépendances ; en contrepartie d'un paquet plus lourd, ceux-ci peuvent donc faire cohabiter plusieurs versions de mêmes dépendances au sein d'un même système Linux et en facilite la distribution en ligne et hors ligne.
Les paquets .snap ne remplacent pas les paquets .deb classiques : le cœur du système Ubuntu (noyau, environnements graphiques, logiciels de base) continue d'être géré à l'aide des paquets issus de Debian. Les paquets .snap s'ajoutent à l'existant afin de fournir un mode de distribution sûr pour les logiciels tiers ou les versions non validées par le système (la dernière version de votre logiciel préféré par exemple).
Un snap :
snap.yaml. Il est en lecture seule et, une fois installé, dispose d'une zone accessible en écriture.snap info <nom-du-programme>
Snap est pré-installé avec toutes les versions récentes d'Ubuntu… en version bureau, mais pas sur la versions serveur.
Vous pouvez l'installer en lançant :
sudo apt install snapd
sudo systemd-detect-virt # qui vous retourne : openvz
echo snap >> ~/.hidden
Désormais vous pouvez directement installer des applications snap en passant par la logithèque ubuntu comme pour les autres applications.
Il faut commencer par installer le paquet snapd sur votre système (normalement, il est pré-installé sur Ubuntu).
Il faut aussi penser à définir le nombre de versions de chaque logiciel livré en technique snap qui seront conservées sous peine d'en retrouver un nombre important et de constater que la consommation de la RAM est volumineuse. Il semble qu'une valeur de deux est bien suffisante. La valeur par défaut est 3.
sudo snap set system refresh.retain=2
Et d'autres astuces pratiques dans ce post.
Synaptic gère des paquets au format .deb provenant de dépôts APT uniquement.
Il ne permet pas — dans sa configuration actuelle — l'installation d'un paquet téléchargé manuellement depuis un site Internet ou généré par vous-même.
Si vous cherchez à effectuer ces manipulations, lisez les sections suivantes ou utilisez plutôt gdebi.
Afin de gérer les paquets précompilés .deb que vous téléchargez manuellement ( par exemple depuis les sites de confiance Sourceforge ou Github) vous devez configurer l'application qui les installera par défaut. il s'agit de la Logithèque Ubuntu.
Contrairement à l'idée préconçue selon laquelle Synaptic serait incapable de gérer les sources compilés manuellement, ceci est tout à fait possible à l'aide de l'application checkinstall.
Cet utilitaire en ligne de commandes simplissime à utiliser compile les sources en C++ puis génère un paquet précompilé *.deb.
Cette procédure permet d'intégrer ensuite le paquet généré manuellement à la bibliothèque de Synaptic.
Pour de plus amples informations sur l'application Checkinstall, reportez vous au chapitre Checkinstall : Créer facilement un paquet debian (*.deb) à partir des sources de la documentation.
Synaptic ne sait pas gérer les logiciels précompilés au format Flatpak ni Snap ni Appimage encore moins les applications hébergées sur Github.
Si votre logithèque ne gère pas nativement ces formats, des procédures spécifiques à chaque format vous seront nécessaires.
Depuis Ubuntu 17.10, il existe des applications d'intégration des paquets Flatpak, Snap, Appimage et des application hébergées sur le Github.
Les procédures d’intégration diffèrent selon le paquet précompilé considéré.
sudo snap install snap-store sudo apt-get update
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo apt install gnome-software-plugin-flatpak sudo apt-get update
pour les autres gestionnaires de bureaux, se référer à la page « Installation et utilisation de Flatpak sur Ubuntu »
— site : Numétopia.fr ; auteur : le tux masqué ; date : 21 août 2019 ; mise à jour : 6 novembre 2019.
sudo snap install github-desktop --edge
Le paquet github-desktop permet de gérer son dépôt Github graphiquement dans une application intégrée au gestionnaire d'applications Ubuntu
wget "https://github.com/AppImage/appimaged/releases/download/continuous/appimaged-x86_64.AppImage"
rendez vous dans votre dossier personnel
sudo chmod a+x appimaged-x86_64.AppImage
sudo ./appimaged-x86_64.AppImage --install
Vous pouvez aussi passer par un terminal pour installer une application snap :
sudo snap install nom_du_snap
Plus d'informations et la liste des options de la commande snap en consultant le manuel (man snap).
Notamment, il peut-être intéressant d'utiliser l'option –classic qui évite le confinement… et permet par exemple d'imprimer sur les imprimantes disponibles1):
sudo snap install --classic nom_du_snap
En ligne de commande :
sudo snap refresh
Quelques logiciels disponibles sous Snap :
Quelques Logiciels disponibles sous Snap, en tapant :
snap find
Liste des logiciels installés sur votre ordinateur, en tapant :
snap list
sudo snap remove mon_logiciel
voir : https://superuser.com/questions/1310825/how-to-remove-old-version-of-installed-snaps
0. constater la place occupée par les snap : sudo du -csh /snap/* |sort -rh
pour chaque version :
sudo du -csh /snap/nomdusnap/* |sort -rh
1. Vérifier la liste des snap qui seront supprimés
snap list --all
snap list --all | awk '/désactivé|disabled/{print}'
2. suppression Si la liste vous convient vous pouvez taper la commande suivante :
snap list --all | awk '/désactivé|disabled/{print $1, $3}' |while read snapname revision; do echo $snapname $revision; sudo snap remove "$snapname" --revision="$revision"; done
Vous pourrez constater le gain de place avec
df -h
et
sudo du -csh /snap/* |sort -rh
Vous ne souhaitez plus utiliser les snaps pour certaines raison : c'est possible
L'application ne fait pas nécessairement un ménage parfait. Il faut s'assurer que des paquets déactivés n'ont pas été conservés.
snap list --all | grep activ
Pour chaque ligne trouvée, il faut supprimer le paquet devenu inutile avec la commande
snap remove nom_logiciel --revision=9999
en renseignant le numéro de révision par la bonne valeur qui a été obtenue.
Lorsque cette opération est faite pour la totalité des lignes, Il faut regarder si un paquet ne dispose pas de plusieurs versions.
snap list --all
Au besoin, supprimer le paquet ancien si détection de double.
Comme indiqué ci-dessus, la commande flatpak équivalente est la suivante :
flatpak list
Si on est habitué à accéder pour lire/modifier tel ou tel fichier de configuration, de log…, il faut savoir qu'ils ne sont plus dans l'arborescence par défaut du système comme /etc/ ou /var/log/.
Comme expliqué dans l'article (en) sur freecodecamp.org2), il faut, pour snap, considérer les répertoires:
/snap//home/$USER/snap//var/snap//var/lib/snapd/
Exemple: je souhaite modifier les modèles de gimp la documentation m'indique que c'est le fichier templaterc qui est normalement dans le répertoire /etc/gimp/2.10/ ou ~/gimp/…, et bien non! Si je veux celui associé à ma session utilisateur, il est dans /home/$USER/snap/gimp/105/.config/GIMP/2.10
Des solutions existent certainement